import { GatewayIntentBits } from 'discord.js';
import { portal } from './robo.js';
import { discordLogger } from './constants.js';
import { bold } from './color.js';

const G={guildCreate:GatewayIntentBits.Guilds,guildUpdate:GatewayIntentBits.Guilds,guildDelete:GatewayIntentBits.Guilds,channelCreate:GatewayIntentBits.Guilds,channelUpdate:GatewayIntentBits.Guilds,channelDelete:GatewayIntentBits.Guilds,channelPinsUpdate:GatewayIntentBits.Guilds,threadCreate:GatewayIntentBits.Guilds,threadUpdate:GatewayIntentBits.Guilds,threadDelete:GatewayIntentBits.Guilds,threadListSync:GatewayIntentBits.Guilds,threadMemberUpdate:GatewayIntentBits.Guilds,threadMembersUpdate:GatewayIntentBits.GuildMembers,stageInstanceCreate:GatewayIntentBits.Guilds,stageInstanceUpdate:GatewayIntentBits.Guilds,stageInstanceDelete:GatewayIntentBits.Guilds,guildMemberAdd:GatewayIntentBits.GuildMembers,guildMemberUpdate:GatewayIntentBits.GuildMembers,guildMemberRemove:GatewayIntentBits.GuildMembers,guildAuditLogEntryCreate:GatewayIntentBits.GuildModeration,guildBanAdd:GatewayIntentBits.GuildModeration,guildBanRemove:GatewayIntentBits.GuildModeration,guildEmojisUpdate:GatewayIntentBits.GuildEmojisAndStickers,guildStickersUpdate:GatewayIntentBits.GuildEmojisAndStickers,guildIntegrationsUpdate:GatewayIntentBits.GuildIntegrations,integrationCreate:GatewayIntentBits.GuildIntegrations,integrationUpdate:GatewayIntentBits.GuildIntegrations,integrationDelete:GatewayIntentBits.GuildIntegrations,webhooksUpdate:GatewayIntentBits.GuildWebhooks,inviteCreate:GatewayIntentBits.GuildInvites,inviteDelete:GatewayIntentBits.GuildInvites,voiceStateUpdate:GatewayIntentBits.GuildVoiceStates,presenceUpdate:GatewayIntentBits.GuildPresences,messageCreate:[GatewayIntentBits.GuildMessages,GatewayIntentBits.DirectMessages],messageUpdate:[GatewayIntentBits.GuildMessages,GatewayIntentBits.DirectMessages],messageDelete:[GatewayIntentBits.GuildMessages,GatewayIntentBits.DirectMessages],messageDeleteBulk:GatewayIntentBits.GuildMessages,messageReactionAdd:GatewayIntentBits.GuildMessageReactions,messageReactionRemove:GatewayIntentBits.GuildMessageReactions,messageReactionRemoveAll:GatewayIntentBits.GuildMessageReactions,messageReactionRemoveEmoji:GatewayIntentBits.GuildMessageReactions,typingStart:GatewayIntentBits.GuildMessageTyping,guildScheduledEventCreate:GatewayIntentBits.GuildScheduledEvents,guildScheduledEventUpdate:GatewayIntentBits.GuildScheduledEvents,guildScheduledEventDelete:GatewayIntentBits.GuildScheduledEvents,guildScheduledEventUserAdd:GatewayIntentBits.GuildScheduledEvents,guildScheduledEventUserRemove:GatewayIntentBits.GuildScheduledEvents,autoModerationRuleCreate:GatewayIntentBits.AutoModerationConfiguration,autoModerationRuleUpdate:GatewayIntentBits.AutoModerationConfiguration,autoModerationRuleDelete:GatewayIntentBits.AutoModerationConfiguration,autoModerationActionExecution:GatewayIntentBits.AutoModerationExecution,messagePollVoteAdd:GatewayIntentBits.GuildMessagePolls,messagePollVoteRemove:GatewayIntentBits.GuildMessagePolls};function U(a){const s=new Set,o=portal.events.keys(),n=Number(a.options.intents.bitfield);for(const i of o){const t=G[i];t&&(Array.isArray(t)?t.some(d=>(n&d)>0)||t.forEach(d=>s.add(d)):n&t||s.add(t));}if(s.size===0)return;const l=Object.fromEntries(Object.entries(GatewayIntentBits).map(([i,t])=>[t,i])),u=Array.from(s).map(i=>l[i]??"Unknown");discordLogger.warn(`Missing intents: ${u.map(i=>bold(i)).join(", ")}`);}

export { G as REQUIRED_INTENTS, U as checkIntents };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=intents.js.map